﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
using System.ServiceModel.Channels;
using PUBCLUB_2014_VISUAL_STUDIO_PRO_2010.EstabelecimentoWS;
using PUBCLUB_2014_VISUAL_STUDIO_PRO_2010.UtilidadesWs;
using PUBCLUB_2014_VISUAL_STUDIO_PRO_2010.ClienteWs;
using PUBCLUB_2014_VISUAL_STUDIO_PRO_2010.PromocaoWs;

namespace PUBCLUB_2014_VISUAL_STUDIO_PRO_2010.GUI
{
    public partial class PesquisarPromocao : System.Web.UI.Page
    {
        ObjetoPromocao promocao = new ObjetoPromocao();
        PubClub_Promocao_WS webServicePromocao = new PubClub_Promocao_WS();
        PubClub_Cliente_WS webServiceCliente = new PubClub_Cliente_WS();
        PubClub_Estabelecimento_WS webServiceEstabelecimento = new PubClub_Estabelecimento_WS();
        ObjetoEstabelecimento estabelecimento = new ObjetoEstabelecimento();
        ObjetoCliente cliente = new ObjetoCliente();

        TableHeaderRow linhaDaTabelaPromocaoPorEstabelecimento = new TableHeaderRow();

        TableHeaderCell celulaNomeDoEstabelecimento = new TableHeaderCell();
        Label labelNomeDoEstabelecimento = new Label();

        TableHeaderCell celulaTituloDaPromocao = new TableHeaderCell();
        Label labelTituloDaPromocao = new Label();

        TableHeaderCell celulaDesricaoDaPromocao = new TableHeaderCell();
        Label labelDescricaoDaPromocao = new Label();

        TableHeaderCell celulaValidadeDaPromocao = new TableHeaderCell();
        Label labelValidadeDaPromocao = new Label();



        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["Cliente"] != null)
            {
                cliente = webServiceCliente.GetCliente(Convert.ToInt32(Session["Cliente"]));
            }
            else
            {
                Response.Redirect("Login.aspx?Logout=2");
            }

            labelNomeDoEstabelecimento.Text = "Estabelecimento";
            celulaNomeDoEstabelecimento.Controls.Add(labelNomeDoEstabelecimento);
            linhaDaTabelaPromocaoPorEstabelecimento.Cells.Add(celulaNomeDoEstabelecimento);

            labelTituloDaPromocao.Text = "Título da promoção";
            celulaTituloDaPromocao.Controls.Add(labelTituloDaPromocao);
            linhaDaTabelaPromocaoPorEstabelecimento.Cells.Add(celulaTituloDaPromocao);

            labelDescricaoDaPromocao.Text = "Descrição da promoção";
            celulaDesricaoDaPromocao.Controls.Add(labelDescricaoDaPromocao);
            linhaDaTabelaPromocaoPorEstabelecimento.Cells.Add(celulaDesricaoDaPromocao);

            labelValidadeDaPromocao.Text = "Promoção termina em";
            celulaValidadeDaPromocao.Controls.Add(labelValidadeDaPromocao);
            linhaDaTabelaPromocaoPorEstabelecimento.Cells.Add(celulaValidadeDaPromocao);

            linhaDaTabelaPromocaoPorEstabelecimento.HorizontalAlign = HorizontalAlign.Center;

            TabelaPromocaoPorEstabelecimento.Rows.Add(linhaDaTabelaPromocaoPorEstabelecimento);
            TabelaPromocaoPorEstabelecimento.Visible = false;


        }
        protected void btBuscar_Click(object sender, EventArgs e)
        {
            BindingList<ObjetoPromocao> listaPromocao = new BindingList<ObjetoPromocao>(webServicePromocao.SearchPromocao(txtBuscarPromocao.Text));

            if (txtBuscarPromocao.Text.Trim().Equals(""))
            {

                LabelAviso.Text = "Preencha o título da promoção.";
                LabelAviso.ForeColor = System.Drawing.Color.Red;
                LabelAviso.Visible = true;
                LabelAviso.Focus();
                return;

            }
            else

                if (listaPromocao.Count == 0)
                {

                    LabelAviso.Text = "Nenhuma promoção com esse título foi encontrada.";
                    LabelAviso.ForeColor = System.Drawing.Color.Red;
                    LabelAviso.Visible = true;

                }
                else
                {
                    LabelAviso.Visible = false;

                    int i = 0;

                    foreach (var item in listaPromocao)
                    {
                       
                        estabelecimento = webServiceEstabelecimento.GetEstabelecimento(item.EstabelecimentoId);

                        TableRow linhaDaTabelaPromocaoPorEstabelecimento1 = new TableRow();

                        TableCell celulaNomeDoEstabelecimento1 = new TableCell();
                        

                        HyperLink linkNomeDoEstablecimento = new HyperLink();

                        TableCell celulaTituloDaPromocao1 = new TableCell();
                        Label labelTituloDaPromocao1 = new Label();

                        TableCell celulaDesricaoDaPromocao1 = new TableCell();
                        Label labelDescricaoDaPromocao1 = new Label();

                        TableCell celulaValidadeDaPromocao1 = new TableCell();
                        Label labelValidadeDaPromocao1 = new Label();

                        LabelAviso.Visible = false;

                        if (i % 2 != 0)
                        {
                            linhaDaTabelaPromocaoPorEstabelecimento1.CssClass = "odd";
                        }

                        i++;

                        linkNomeDoEstablecimento.Text = estabelecimento.NomeFantasia;
                        linkNomeDoEstablecimento.NavigateUrl = "~/GUI/ClienteVerPerfilEstabelecimento.aspx?EstabelecimentoId=" + estabelecimento.EstabelecimentoId;
                        celulaNomeDoEstabelecimento1.Controls.Add(linkNomeDoEstablecimento);
                        linhaDaTabelaPromocaoPorEstabelecimento1.Cells.Add(celulaNomeDoEstabelecimento1);


                        labelTituloDaPromocao1.Text = item.Titulo;
                        celulaTituloDaPromocao1.Controls.Add(labelTituloDaPromocao1);
                        linhaDaTabelaPromocaoPorEstabelecimento1.Cells.Add(celulaTituloDaPromocao1);


                        labelDescricaoDaPromocao1.Text = item.Descricao;
                        celulaDesricaoDaPromocao1.Controls.Add(labelDescricaoDaPromocao1);
                        linhaDaTabelaPromocaoPorEstabelecimento1.Cells.Add(celulaDesricaoDaPromocao1);

                        labelValidadeDaPromocao1.Text = Convert.ToDateTime(item.Validade).ToShortDateString();
                        celulaValidadeDaPromocao1.Controls.Add(labelValidadeDaPromocao1);
                        linhaDaTabelaPromocaoPorEstabelecimento1.Cells.Add(celulaValidadeDaPromocao1);

                        linhaDaTabelaPromocaoPorEstabelecimento1.HorizontalAlign = HorizontalAlign.Center;

                        TabelaPromocaoPorEstabelecimento.Rows.Add(linhaDaTabelaPromocaoPorEstabelecimento1);
                    }

                    TabelaPromocaoPorEstabelecimento.Visible = true;
                }

        }
    }
}